// ==UserScript==
// @name         路透社优化
// @namespace    http://tampermonkey.net/
// @version      2.1
// @description  
// @icon         https://raw.gitcode.com/gagghik1/greyz4k/raw/main/reuters/icon.png
// @author       娶名字真难
// @author       gagghik1
// @match        *://*.reuters.com/*
// @grant        none   
// @downloadURL  https://raw.gitcode.com/gagghik1/greyz4k/raw/main/reuters/user.js
// @updateURL    https://raw.gitcode.com/gagghik1/greyz4k/raw/main/reuters/meta.js
// ==/UserScript==

(function() {

  // 主清理函数
  function clean() {

    // 解锁滚动
    document.documentElement.style.overflow = "auto";

    // 删除遮罩弹窗（原 class 名可能变动，这里采用更宽松选择）
    document.querySelectorAll(
      '.fEy1Z2XT, [data-testid="overlay"], [data-testid="modal"], [data-testid="PaywallOverlay"]'
    ).forEach(el => el.remove());

    // 删除所有「ResponsiveAdSlot」广告容器
    document.querySelectorAll('[data-testid="ResponsiveAdSlot"]').forEach(el => el.remove());

    // 针对特定 ID 的广告位再兜底处理
    [
      '#reuters_desktop_native_1',
      '#reuters_desktop_hp_leaderboard_atf'
    ].forEach(id => {
      const slot = document.querySelector(id);
      if (slot) {
        const container = slot.closest('[data-testid="ResponsiveAdSlot"], .ad-slot-module__container__VEdre');
        if (container) container.remove();
      }
    });

  }

  // 启动时清理一次
  clean();

  // MutationObserver 持续侦听页面内容变化
  const observer = new MutationObserver(clean);
  observer.observe(document.body, { childList: true, subtree: true });

})();